package org.cloud.module.common.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;

import lombok.Data;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

import org.springframework.format.annotation.DateTimeFormat;

/**
 * 菜单信息
 * @author wangyuan
 * @since 2019年6月15日 下午6:49:44
 *
 */
@Data
@TableName("t_sys_menu")
public class SysMenuEntity implements Serializable {
	
	/**
	 * 
	 */
	private static final long serialVersionUID = -8871636015791338067L;

	/**
	 * 菜单ID
	 */
	@TableId
	private Long id;

	/**
	 * 父菜单ID，一级菜单为NULL
	 */
	private Long parentMenuId;
	/**
	 * 菜单名称
	 */
	private String menuName;

	/**
	 * 菜单URL
	 */
	private String menuUrl;

	/**
	 * 授权(多个用逗号分隔，如：user:list,user:create)
	 */
	private String menuPerms;

	/**
	 * 类型     0：目录   1：菜单   2：按钮
	 */
	private Integer menuType;

	/**
	 * 菜单图标
	 */
	private String menuIcon;

	/**
	 * 排序
	 */
	private Integer menuOrderNum;
	
	/**
	 * 删除状态：0无效，1有效
	 */
	@TableLogic
	private Integer status;
	/**
	 * 创建人
	 */
	private String createdUser;
	/**
	 * 创建时间
	 */
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private Date createdTime;
	/**
	 * 更新人
	 */
	private String updatedUser;
	/**
	 * 更新时间
	 */
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private Date updatedTime;
	
	/**
	 * 父菜单名称
	 */
	@TableField(exist=false)
	private String parentMenuName;
	/**
	 * ztree属性
	 */
	@TableField(exist=false)
	private Boolean open;

	@TableField(exist=false)
	private List<?> list;

}
